if (a[i++]<a[i]);为什么先算a[i]

来源:百度知道 编辑:UC知道 时间:2024/05/06 20:33:38
请深入的讲解 3q

[]的优先级大于++ 故a[i++]<a[i]相当于a[i]<a[i] 这个判断语句无意义

//demo

#include<iostream>
using namespace std;

void main(void)
{
int a[2]={3,2};
int i=0;
if(a[i++]<[i])
cout<<"1";
else cout<<"0";
if(a[++i]<a[i])
cout<<"1";
else cout<<"0";
}

运行结果 :00

运算符的结合性不一样

错了